Realizing Change-Driven Consistency for Component Code, Architectural Models, and Contracts in Vitruvius

نویسندگان

  • Max E. Kramer
  • Michael Langhammer
  • Dominik Messinger
  • Stephan Seifermann
  • Erik Burger
چکیده

During the development of component-based software systems, it is often impractical or even impossible to include all development information into the source code. Instead, specialized languages are used to describe components and systems on different levels of abstraction or from different viewpoints: Component-based architecture models and contracts, for example, can be used to describe the system on a high level of abstraction, and to formally specify component constraints. Since models, contracts, and code contain redundant information, inconsistencies can occur if they are modified independently. Keeping this information consistent manually can require considerable effort, and can lead to costly errors, for example, when security-relevant components are verified against inconsistent contracts. In this technical report, we present details on realizing an approach for keeping component-based architecture models and contracts specified in the Java Modeling Language (JML) consistent with Java source code. We use change-driven incremental transformations and the Vitruvius framework to automate the consistency preservation where this is possible. Using two case studies, we demonstrate how to detect and propagate changes and refactoring operations to keep models and contracts consistent with the source code.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Automated Coevolution of Source Code and Software Architecture Models

To develop complex software systems, source code and other artefacts, such as architectural models and behaviour descriptions, are used. Keeping these software architecture-based models consistent with the systems’ source code during software development and software evolution helps software architects. Having up-to-date architecture models eases the development and evolution tasks since questi...

متن کامل

Architecture-driven Reduction of Specification Overhead for Verifying Confidentiality in Component-based Software Systems

Code verification techniques can be used to guarantee that some of the information processed in software systems remains confidential. For this, allowed information flows have to be specified for the system under analysis. Reducing the specification overhead could render code verification feasible where verification was considered too complex or costly so far. In this paper, we introduce a mode...

متن کامل

Semi-automated architectural abstraction specifications for supporting software evolution

In this paper we present an approach for supporting the semi-automated architectural abstraction of architectural models throughout the software lifecycle. It addresses the problem that the design and implementation of a software system often drift apart as software systems evolve, leading to architectural knowledge evaporation. Our approach provides concepts and tool support for the semiautoma...

متن کامل

Supporting Consistency between Architectural Design Decisions and Component Models through Reusable Architectural Knowledge Transformations

In recent years, the software architecture community has proposed to use architectural design decisions (ADDs) for capturing the design rationale and the architectural knowledge (AK). As software systems evolve both ADDs and architectural designs need to be documented and maintained. This is a tedious and time-consuming task because of the lack of systematic and automated support for bridging b...

متن کامل

Customizing Component-Based Architectures by Contract

This paper presents an approach to describe, deploy and manage component-based applications having dynamic functional and non-functional requirements. The approach is centered on architectural descriptions and associated high-level contracts. Besides specifying non-functional (or QoS) requirements, these contracts are used to guide architecture customizations required to enforce the requirement...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2015